In the field of data encoding techniques for the transmission of digital information it is advantageous to have a single receiving component accept data from transmitters with different transmission frequencies (frequency-independence), to attain a high data transmission rate, to eliminate the d.c. component of a transmitted data signal (d.c. balancing), and to avoid the need for sending separate clocking signals or information between portions of the system (self-clocking). Frequency-independent encoding techniques enable the use of data transmitters with differing transmission rates without the necessity of replacing the receiving component of the data transmission system. Transmitted data which is encoded using a frequency independent encoding technique permits the receiver to accept data from transmitting devices having different transmission rates as long as the transmission rate of the transmitter does not exceed the maximum rate of the receiver. In the field of storage of digital data and in particular in the use of memory disk controllers, frequency independent data encoding techniques are especially attractive due to the varying retrieval rates of different memory devices. In addition the evolving technology in this field has developed new data memory devices with higher data rates. Therefore, a receiver that can accept data at diverse data transmission rates is usable with both the old and the new data retrieval technology.
Data encoding techniques for use in data transmission systems typically attempt to minimize the number of transitions in signal level per bit transmitted. Since transmission media have known bandwidth limits, decreasing the number of transitions per bit transmitted increases the maximum rate at which data can be transmitted over a given medium. In known data frequency independent encoding techniques, each bit transmitted requires reservation of a time period equivalent to two pulse periods. A pulse period is the time necessary for a signal to change from a neutral state to a valid logic level and back again to the neutral state. The necessity of having two pulse periods for every transferred data bit limits the performance of high-speed data communication devices. Data encoding techniques accordingly seek to minimize the number of pulses required per bit transferred and thus decrease the effect of transmission media bandwidth limits which limit the maximum data transmission rate.
The elimination of the d.c. component of the signal enables a.c. coupling of the transmission media to the source and receiver of the digital data by means of a transformer. The use of a transformer or a.c. coupling avoids problems caused by differences in the ground potentials between the transmission source and receiver of the digital data.
Most Self-clocking data encoding techniques permit two units in a data transmission system to communicate without separate clocking information or a separate clocking signal. The nature of the transmitted data stream allows the receiver to generate an associated clock signal without prior knowledge that the data has been transmitted.
Known data encoding techniques have been unable to incorporate all four of these desirable objectives in a single encoding technique. Accordingly the developers of data communication networks have been required to choose between encoding techniques that encompass some, but not all, of the above referred advantageous features.